﻿using System;
using System.Runtime.Serialization;
using System.Xml.Serialization;

namespace Dynamic.Data.Model.Query
{
    [DataContract]
    [XmlType(Namespace="DynamicMatrix")]
    public enum ConditionOperator
    {
        [XmlIgnore]
        [EnumMember]
        BeginsWith = 0x36,
        [EnumMember]
        Between = 10,
        [XmlIgnore]
        [EnumMember]
        ChildOf = 0x2d,
        [XmlIgnore]
        [EnumMember]
        Contains = 0x31,
        [XmlIgnore]
        [EnumMember]
        DoesNotBeginWith = 0x37,
        [XmlIgnore]
        [EnumMember]
        DoesNotContain = 50,
        [XmlIgnore]
        [EnumMember]
        DoesNotEndWith = 0x39,
        [XmlIgnore]
        [EnumMember]
        EndsWith = 0x38,
        [EnumMember]
        Equal = 0,
        [EnumMember]
        EqualBusinessId = 0x2b,
        [EnumMember]
        EqualUserId = 0x29,
        [EnumMember]
        EqualUserLanguage = 0x33,
        [EnumMember]
        GreaterEqual = 4,
        [EnumMember]
        GreaterThan = 2,
        [EnumMember]
        In = 8,
        [EnumMember]
        Last7Days = 0x11,
        [EnumMember]
        LastMonth = 0x16,
        [EnumMember]
        LastWeek = 0x13,
        [EnumMember]
        LastXDays = 0x21,
        [EnumMember]
        LastXHours = 0x1f,
        [EnumMember]
        LastXMonths = 0x25,
        [EnumMember]
        LastXWeeks = 0x23,
        [EnumMember]
        LastXYears = 0x27,
        [EnumMember]
        LastYear = 0x1c,
        [EnumMember]
        LessEqual = 5,
        [EnumMember]
        LessThan = 3,
        [EnumMember]
        Like = 6,
        [XmlIgnore]
        [EnumMember]
        Mask = 0x2e,
        [XmlIgnore]
        [EnumMember]
        MasksSelect = 0x30,
        [EnumMember]
        Next7Days = 0x12,
        [EnumMember]
        NextMonth = 0x18,
        [EnumMember]
        NextWeek = 0x15,
        [EnumMember]
        NextXDays = 0x22,
        [EnumMember]
        NextXHours = 0x20,
        [EnumMember]
        NextXMonths = 0x26,
        [EnumMember]
        NextXWeeks = 0x24,
        [EnumMember]
        NextXYears = 40,
        [EnumMember]
        NextYear = 30,
        [EnumMember]
        NotBetween = 11,
        [EnumMember]
        NotEqual = 1,
        [EnumMember]
        NotEqualBusinessId = 0x2c,
        [EnumMember]
        NotEqualUserId = 0x2a,
        [EnumMember]
        NotIn = 9,
        [EnumMember]
        NotLike = 7,
        [XmlIgnore]
        [EnumMember]
        NotMask = 0x2f,
        [EnumMember]
        NotNull = 13,
        [EnumMember]
        NotOn = 0x34,
        [EnumMember]
        Null = 12,
        [EnumMember]
        OlderThanXMonths = 0x35,
        [EnumMember]
        On = 0x19,
        [EnumMember]
        OnOrAfter = 0x1b,
        [EnumMember]
        OnOrBefore = 0x1a,
        [EnumMember]
        ThisMonth = 0x17,
        [EnumMember]
        ThisWeek = 20,
        [EnumMember]
        ThisYear = 0x1d,
        [EnumMember]
        Today = 15,
        [EnumMember]
        Tomorrow = 0x10,
        [EnumMember]
        Yesterday = 14
    }
}

